// fn get_length(s: String) -> usize {
//     println!("{}", s);
//     s.len()
// }

fn main() {
    let string_a = "abc";
    let string_b = string_a;
    println!("{}", string_a);
    println!("{}", string_b);

    /* // let string_c = String::from("bcd");
    // 移交所有权，string_c销毁
    // let string_d = string_c;
    // 对string_c进行clone,string_c仍存在
    // let string_d = string_c.clone();
    // println!("{}", string_c);
    // 移交所有权，string_c销毁
    // println!("{}",get_length(string_c))
    // println!("{}", string_c) */


    // let a = dangle();
    // println!("{}", a);

    


}

// 错误返回：没有生命周期，不能确定返回的引用何时结束
// fn dangle() -> &str {
//     "hello"
// }

// 静态的生命周期，污染了全局的作用域
// fn dangle() -> &'static str {
//     "hello"
// }

// fn dangle() -> String {
//     "hello".to_owned()
// }
